package leetcode;

/**
 * description:
 * author:zt
 * date:2021-11-04
 */

/**
 * 给定一个 正整数 num ，编写一个函数，如果 num 是一个完全平方数，则返回 true ，否则返回 false 。
 *
 * 进阶：不要 使用任何内置的库函数，如 sqrt
 */
public class leetcode367 {
    public boolean isPerfectSquare(int num) {
        long L = 1, R = num;
        while (L <= R){
            long mid = (L + R) >> 1;
            if (mid * mid < num){
                L = mid + 1;
            }else if (mid * mid > num){
                R = mid - 1;
            }
            else return true;
        }
        return false;
    }
}
